<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /* {} 是用来解构对象的 [] 是用来解构数组的 */
      // const arr = [1, 2, 3]

      // /* 解构提取首元素 */
      // let [a] = arr
      // console.log(a);

      // let [_,b,c] = arr
      // console.log(b,c,_);

      /* 多级解构数组 */
      // const arr = [
      //   1,
      //   2,
      //   [3, 4],
      // ]
      // let [
      //   a,
      //   b,
      //   [c, d],
      // ] = arr
      // console.log(a,b,c,d);

      /* 结构复杂数据 */
      const jsonData = `
      {
        "name":"张全蛋",
        "age":18,
        "wife":{
          "name":"王钢蛋",
          "friends":["老王","Jack","John"]
        }
      }
    `;
      // 只想要张全蛋的年龄 + 他老婆的第二个朋友的名字
      // 将json数组解析为JS数据（对象和数组的相互嵌套）
      const jsData = JSON.parse(jsonData);
      // console.log(jsData);

      /* 分步解构 */
      let { age } = jsData;
      let {
        friends: [_, theName],
      } = jsData.wife;
      console.log(age, theName);

      /* 一步到位解析出age, theName */
      // let {
      //   age,
      //   wife: {
      //     friends: [_, theName],
      //   },
      // } = jsData;
      // console.log(age, theName);
      
    </script>
  </body>
</html>
